package com.gdkj.tencent;

import com.gdkj.common.LogicResult;
import com.gdkj.params.ImUserInfo;

import java.io.UnsupportedEncodingException;
import java.util.List;

public interface IIm {

    LogicResult destroyGroup(String groupId) throws Exception;
    
    LogicResult addUser(String userId,String nick,String faceUrl) throws Exception;

    LogicResult createGroupWithNoGroupId(Long uid) throws Exception;

    LogicResult createGroup(Long uid) throws Exception;

    LogicResult createGroup(String groupId) throws Exception;

    LogicResult createGroup(Long uid, String groupId) throws Exception;

    LogicResult sendNormalGroupMessage(String data, String groupId) throws Exception;

    LogicResult sendSystemNotification(String data, String groupId) throws Exception;

    LogicResult sendSingleMessage(Long uid, String content) throws Exception;

    Boolean settingInfo(ImUserInfo po) throws UnsupportedEncodingException;

    /**
     * 移除im
     * @param groupId
     * @param accountList
     * @return LogicResult
     */
    LogicResult deleteGroupMember(String groupId, List<String> accountList) throws Exception;

    /**
     * 获取群组信息
     * @param groupIdList groupIdList
     * @return LogicResult
     * @throws Exception
     */
    LogicResult getGroupInfo(List<String> groupIdList) throws Exception;

    /**
     * 批量导入账户
     * @param accountIdList
     * @return LogicResult
     * @throws Exception
     */
    LogicResult batchImportAccount(List<String> accountIdList) throws Exception;

    /**
     * 全员推送消息
     * @param content
     * @return LogicResult
     */
    LogicResult sendAllMessage(String content) throws Exception;
}
